#!/usr/bin/env python3.11
# -*- coding: utf-8 -*-
"""
通讯录管理系统 v1.0
结构说明：
  1. 数据区
  2. 功能函数区（按菜单顺序排列）
  3. 主菜单驱动区（放在文件底部）
"""

# -------------------- 1. 数据区 --------------------
contacts = {
    "张三": {"phone": "1234567", "email": "zhangsan@test.com"},
    "李四": {"phone": "2345678", "email": "lisi@test.com"}
}


# -------------------- 2. 功能函数区 --------------------
def add_contact():
    """1. 添加联系人"""
    print("正在添加学生信息...")
    new_student_name = input("请输入要添加的学生姓名：")
    new_student_phone = input("请输入学生的手机号：")
    new_student_email = input("请输入学生的电子邮箱：")
    contacts[new_student_name] = {"phone": new_student_phone, "email": new_student_email}
    print("已成功添加，", end="")
    get_all_message()


def delete_contact():
    """2. 删除单个联系人"""
    print("正在删除学生信息...")
    del_student_name = input("请输入要删除的学生姓名：")
    if del_student_name in contacts:
        del contacts[del_student_name]
        print(f"当前 {del_student_name} 已被删除，")
    else:
        print("未查询到该学生，请检查是否输入有误！")
    get_all_message()


def modify_contact():
    """3. 修改联系人"""
    print("正在修改学生信息...")
    edit_student_name = input("请输入修改信息的学生姓名：")
    edit_student_phone = input("请输入修改后的学生电话：")
    edit_student_email = input("请输入修改后的学生邮箱：")
    if edit_student_name in contacts:
        contacts[edit_student_name]["phone"] = edit_student_phone
        contacts[edit_student_name]["email"] = edit_student_email
        print(f"学生 {edit_student_name} 信息已被修改，")
    else:
        print(f"学生 {edit_student_name} 不存在，请检查是否输入有误！")
    get_all_message()


def query_contact():
    """4. 查询联系人"""
    print("正在查询学生信息...")
    find_student_name = input("请输入要查询的学生姓名：")
    if find_student_name in contacts:
        print(f"{find_student_name} : {contacts[find_student_name]}")
    else:
        print(f"学生 {find_student_name} 无数据，请检查是否输入有误！")
        get_all_message()


def get_all_message():
    """5. 获取所有联系人通讯信息"""
    print("当前学生通讯录信息列表：")
    for name in contacts:
        print(f"{name} : {contacts[name]}")


# -------------------- 3. 主菜单驱动区 --------------------
def main():
    while True:
        print("-" * 50)
        print("  通讯录管理系统 v1.0")
        print("1. 添加联系人")
        print("2. 删除联系人")
        print("3. 修改联系人")
        print("4. 查询联系人")
        print("5. 获取所有联系人通讯信息")
        print("6. 退出系统")
        print("-" * 50)

        choice = input("请输入功能序号：").strip()
        if choice == "1":
            add_contact()
        elif choice == "2":
            delete_contact()
        elif choice == "3":
            modify_contact()
        elif choice == "4":
            query_contact()
        elif choice == "5":
            get_all_message()
        elif choice == "6":
            print("感谢使用！")
            break
        else:
            print("输入不合法，请重新选择！")


# 只有当本文件被直接运行时才会启动主循环
if __name__ == "__main__":
    main()
